package 文件.学习;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.lang.reflect.Array;
import java.util.Arrays;

public class listFiles文件过滤器 {
    public static void main(String[] args) {
        File f1=new File("D:\\F");
        //调用listFiles(FileFilter filter)
        File[] list1 = f1.listFiles(new FileFilter() {
            //下面的参数表示这个目录的的每个文件或文件夹的路径
            @Override
            public boolean accept(File pathname) {
                //获取F文件夹的.txt文件
                return pathname.isFile() && pathname.getName().endsWith(".txt");
            }
        });
        System.out.println(Arrays.toString(list1));//D:\F\bbb.txt, D:\F\c.txt]

        //调用listFiles(FilenameFilter filter)
        File[] list2 = f1.listFiles(new FilenameFilter() {
            //dir:父级
            //name:子级
            @Override
            public boolean accept(File dir, String name) {
                File str = new File(dir, name);
                return str.isFile() && name.endsWith(".txt");
            }
        });
        System.out.println(Arrays.toString(list2));//[D:\F\bbb.txt, D:\F\c.txt]

    }
}
